// DecToBin.cpp
// Decimal 十进制数
// Binary  二进制数
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
// 13 - 1101
//            商      余数
// 13 / 2     6       1
//  6 / 2     3       0
//  3 / 2     1       1
//  1 / 2     0       1
// 辗转相除

// 7 - 111
//          1 的位置出现的规律
// 8 - 1000 2^3
// 4 - 0100 2^2
// 2 - 0010 2^1
// 1 - 0001 2^0
// [1, 0, 0, 0]
vector<int> decToBin(int n) {
  // 辗转相除
  vector<int> result; // 计算结果

  while (n / 2 != 0) {
    result.push_back(n % 2);
    n = n / 2;
  }

  // n / 2 == 0
  result.push_back(n % 2);

  reverse(result.begin(), result.end());

  return result;
}

int main(int argc, char const *argv[])
{
  /* code */
  auto bits = decToBin(13);

  for (auto bit : bits) {
    cout<<bit<<" ";
  }

  cout<<endl;
  return 0;
}



